perm filename PUP1OC.PAL[11,HE]1 blob
sn#656320 filedate 1982-04-29 generic text, type T, neo UTF8
; Copyright Xerox Corporation 1979
.TITLE PUP1OC
; PUP1OC -- PUP LEVEL 1
.CSECT GLOBAL
G=.
.CSECT
; ENTRY POINT TO OPENLEVEL1SOCKET
LA1:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV %3,-(5)
MOV #000015,%2
MOV -2.(0),%1
JSR %7,@G+202.
000010
MOV -2.(0),%1
INC %1
MOV #000004,%3
MOV G+392.,%2
JSR %7,@G+200.
000010
TST -4.(0)
BEQ LA12
MOV -2.(0),%1
ADD #000005,%1
MOV #000003,%3
MOV -4.(0),%2
JSR %7,@G+200.
000010
LA12:
TST -6.(0)
BEQ LA13
MOV -2.(0),%1
ADD #000010,%1
MOV #000003,%3
MOV -6.(0),%2
JSR %7,@G+200.
000010
LA13:
MOV -2.(0),%1
ASL %1
MOV 10.(1),%1
BIC #000377,%1
TST %1
BNE LA14
MOV -2.(0),%1
ASL %1
MOV 10.(1),%1
BIC #177400,%1
TST %1
BNE LA14
CLR -8.(0)
MOV G+380.,%1
ASL %1
MOV (1),-8.(0)
MOV -8.(0),%1
ASL %1
MOV 2.(1),%1
SWAB %1
CLRB %1
MOV -8.(0),%2
ASL %2
ADD 4.(2),%1
MOV -2.(0),%2
ASL %2
MOV %1,10.(2)
LA14:
MOV #000006,%1
ADD -2.(0),%1
ASL %1
TST (1)
BNE LA15
MOV #000006,%1
INC %1
ADD -2.(0),%1
ASL %1
TST (1)
BNE LA15
MOV #000006,%1
ADD -2.(0),%1
CLR %2
JSR %7,@G+244.
000010
MOV #000006,%1
BR LA999
LA10:
JMP MA10
LA999:
INC %1
ADD -2.(0),%1
ASL %1
MOV -2.(0),(1)
LA15:
MOV -2.(0),%1
ASL %1
MOV 16.(1),%1
BIC #000377,%1
TST %1
BNE LA16
MOV -2.(0),%1
ASL %1
MOV 10.(1),%1
BIC #000377,%1
MOV -2.(0),%2
ASL %2
MOV 16.(2),%2
BIC #177400,%2
ADD %2,%1
MOV -2.(0),%2
ASL %2
MOV %1,16.(2)
LA16:
MOV -2.(0),%2
MOV G+388.,%1
JSR %7,@G+230.
000010
LA11:
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO CLOSELEVEL1SOCKET
LA2:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV -2.(0),%2
MOV G+388.,%1
JSR %7,@G+238.
000004
TST %1
BNE LA17
MOV #004254,%2
MOV -2.(0),%1
JSR %7,@G+212.
000004
LA17:
LA18:
MOV -2.(0),%1
ADD #000013,%1
JSR %7,@LA4
000004
JSR %7,@G+254.
000004
MOV -2.(0),%1
ASL %1
MOV 2.(1),%1
BIC #177400,%1
MOV -2.(0),%2
ASL %2
MOV 2.(2),%2
BIC #000377,%2
CLRB %2
SWAB %2
CMP %1,%2
BNE LA18
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO FLUSHQUEUE
LA3:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
BR LA20
LA19:
MOV -2.(0),%1
JSR %7,@G+232.
000010
JSR %7,@G+306.
000004
LA20:
MOV -2.(0),%1
ASL %1
TST (1)
BNE LA19
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO BROADCASTNEXTNET
LA5:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
BR LA22
LA21:
MOV -4.(0),%1
ASL %1
TST 2.(1)
BNE LA24
MOV -2.(0),%1
ASL %1
MOV 8.(1),%1
BIC #157777,%1
TST %1
BNE LA23
LA24:
MOV -2.(0),%1
ASL %1
MOV -4.(0),6.(1)
MOV -4.(0),%1
ASL %1
MOV 2.(1),%1
SWAB %1
CLRB %1
MOV -4.(0),%2
ASL %2
ADD 4.(2),%1
MOV -2.(0),%2
ASL %2
MOV %1,32.(2)
MOV -4.(0),%1
ASL %1
MOV 2.(1),%1
SWAB %1
CLRB %1
MOV -2.(0),%2
ASL %2
MOV 26.(2),%2
BIC #177400,%2
ADD %2,%1
MOV -2.(0),%2
ASL %2
MOV %1,26.(2)
MOV -2.(0),%1
JSR %7,@G+320.
000006
MOV -2.(0),%1
ASL %1
MOV 26.(1),%1
BIC #177400,%1
MOV -4.(0),%2
ASL %2
MOV 20.(2),-14.(0)
MOV %1,%2
MOV -2.(0),%1
JSR %7,@-14.(0)
000006
MOV -4.(0),%1
ASL %1
MOV 22.(1),-12.(0)
MOV -2.(0),%1
JSR %7,@-12.(0)
000006
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
LA22:
JMP MA22
LA23:
MOV -4.(0),%1
ASL %1
MOV (1),-4.(0)
MA22:
TST -4.(0)
BNE LA21
MOV -2.(0),%1
JSR %7,@G+306.
000006
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO SETALLOCATION
LA6:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV %3,-(5)
MOV %4,-(5)
CMP -6.(0),-4.(0)
BGT LA26
CMP -8.(0),-4.(0)
BLE LA25
LA26:
MOV #004255,%2
MOV -2.(0),%1
JSR %7,@G+212.
000012
LA25:
MOV -2.(0),%1
INC %1
MOV -4.(0),%2
JSR %7,@LA9
000012
MOV -2.(0),%1
ADD #000002,%1
MOV -6.(0),%2
JSR %7,@LA9
000012
MOV -2.(0),%1
ADD #000003,%1
MOV -8.(0),%2
JSR %7,@LA9
000012
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
; ENTRY POINT TO SETONEALLOC
LA8:
SUB @(6),%0
MOV %7,@%0
MOV (6)+,-(0)
MOV %0,%5
MOV %1,-(5)
MOV %2,-(5)
MOV -2.(0),%1
ASL %1
MOV (1),%1
BIC #000377,%1
CLRB %1
SWAB %1
MOV -4.(0),%2
SUB %1,%2
MOV %2,-6.(0)
MOV -4.(0),%1
SWAB %1
CLRB %1
MOV -2.(0),%2
ASL %2
MOV (2),%2
BIC #177400,%2
ADD %2,%1
ADD -6.(0),%1
MOV -2.(0),%2
ASL %2
MOV %1,(2)
MOV (0)+,%5
ADD (5)+,%0
JMP @%5
MA10:
.CSECT GLOBAL
.=G+300.
LA1
.=G+302.
LA2
.=G+318.
LA5
.CSECT
LA4:
LA3
LA7:
LA6
LA9:
LA8
.END